#include "../RPWrapper.h"
#include "../RPTreeParam.h"
#include <stdio.h>
#include <stdlib.h>

int main( int argc, char **argv)
{

//	double data[] = { -2.6, 0.0, 4.6, 3.1, -0.4, -3.5, -4.1, 8.0, -3.1, 5.5,
//			  -3.6, 3.7, -7.1, -0.5, 5.4, 1.8, 8.3, -8.1, 5.2, 7.2,
//			  -8.4, 1.7, -5.8, 6.9, -5.3, -6.9, -0.5, -4.4, 0.6, -1.1,
//			  -3.9, 5.5, -8.0, -4.7, -3.3, -5.6, 2.5, 7.9, -6.7, -7.3,
//			  6.8, -2.4, -4.9, 0.0, 7.1, -0.4, -3.4, 0.8, -7.1, -4.2,
//			  0.7, -3.2, -4.0, 2.0, -4.5, -0.6, -0.7, -0.9, 4.2, -5.1,
//			  -0.8, 2.6, 6.4, -5.8, -7.1, 3.3, -1.2, -7.3, 6.4, -0.8,
//			  -0.7, -8.6, -8.3, 7.5, 2.8, -7.8, -8.8, 4.9, -8.5, -3.4,
//			  -1.1, 8.6, -3.0, 7.2, 6.1, 9.0, 8.0, -7.6, 3.5, -0.9,
//			  -7.1, 5.3, -0.5, -5.2, 1.4, 2.4, -5.3, -0.3, -2.5, 7.1,
//			  7.2, -4.3, 6.8, 2.9, -0.3, 3.0, -2.9, 2.2, -8.5, 0.3,
//			  -8.6, 0.8, 5.6, -9.0, -4.7, -7.3, 8.2, 1.2, 7.3, -7.4,
//			  -5.7, 4.2, 3.1, -3.5, -6.2, -7.0, -3.1, -1.3, 8.1, 6.5,
//			  -2.0, 1.4, -0.6, 1.6, -6.9, -4.1, -4.0, 7.9, 1.0, 2.3,
//			  5.7, 4.8, 1.4, 6.8, 0.7, 1.7, 1.3, -1.2, 2.5, -5.9 };
//


	double data[] = { -1.0, -1.0, -1.0,  -0.99, -0.99, -0.99, -0.98, -0.98, -0.98,
			  -0.97, -0.97, -0.97,  -0.96, -0.96, -0.96, -0.95, -0.95, -0.95,
			  -0.94, -0.94, -0.94,  -0.93, -0.93, -0.93, -0.92, -0.92, -0.92,
			  -0.91, -0.91, -0.91,  -0.9, -0.9, -0.9, -0.89, -0.89, -0.89,
			  -0.88, -0.88, -0.88,  -0.87, -0.87, -0.87, -0.86, -0.86, -0.86,
			  -0.85, -0.85, -0.85,  -0.84, -0.84, -0.84, -0.83, -0.83, -0.83,
			  -0.82, -0.82, -0.82,  -0.81, -0.81, -0.81, -0.8, -0.8, -0.8,
			  -0.79, -0.79, -0.79,  -0.78, -0.78, -0.78, -0.77, -0.77, -0.77,
			  -0.76, -0.76, -0.76,  -0.75, -0.75, -0.75, -0.74, -0.74, -0.74,
			  -0.73, -0.73, -0.73,  -0.72, -0.72, -0.72, -0.71, -0.71, -0.71,
			  -0.7, -0.7, -0.7,  -0.69, -0.69, -0.69, -0.68, -0.68, -0.68,
			  -0.67, -0.67, -0.67,  -0.66, -0.66, -0.66, -0.65, -0.65, -0.65,
			  -0.64, -0.64, -0.64,  -0.63, -0.63, -0.63, -0.62, -0.62, -0.62,
			  -0.61, -0.61, -0.61,  -0.6, -0.6, -0.6, -0.59, -0.59, -0.59,
			  -0.58, -0.58, -0.58,  -0.57, -0.57, -0.57, -0.56, -0.56, -0.56,
			  -0.55, -0.55, -0.55,  -0.54, -0.54, -0.54, -0.53, -0.53, -0.53,
			  -0.52, -0.52, -0.52,  -0.51, -0.51, -0.51, -0.5, -0.5, -0.5,
			  -0.49, -0.49, -0.49,  -0.48, -0.48, -0.48, -0.47, -0.47, -0.47,
			  -0.46, -0.46, -0.46,  -0.45, -0.45, -0.45, -0.44, -0.44, -0.44,
			  -0.43, -0.43, -0.43,  -0.42, -0.42, -0.42, -0.41, -0.41, -0.41,
			  -0.4, -0.4, -0.4,  -0.39, -0.39, -0.39, -0.38, -0.38, -0.38,
			  -0.37, -0.37, -0.37,  -0.36, -0.36, -0.36, -0.35, -0.35, -0.35,
			  -0.34, -0.34, -0.34,  -0.33, -0.33, -0.33, -0.32, -0.32, -0.32,
			  -0.31, -0.31, -0.31,  -0.3, -0.3, -0.3, -0.29, -0.29, -0.29,
			  -0.28, -0.28, -0.28,  -0.27, -0.27, -0.27, -0.26, -0.26, -0.26,
			  -0.25, -0.25, -0.25,  -0.24, -0.24, -0.24, -0.23, -0.23, -0.23,
			  -0.22, -0.22, -0.22,  -0.21, -0.21, -0.21, -0.2, -0.2, -0.2,
			  -0.19, -0.19, -0.19,  -0.18, -0.18, -0.18, -0.17, -0.17, -0.17,
			  -0.16, -0.16, -0.16,  -0.15, -0.15, -0.15, -0.14, -0.14, -0.14,
			  -0.13, -0.13, -0.13,  -0.12, -0.12, -0.12, -0.11, -0.11, -0.11,
			  -0.1, -0.1, -0.1,  -0.09, -0.09, -0.09, -0.08, -0.08, -0.08,
			  -0.07, -0.07, -0.07,  -0.06, -0.06, -0.06, -0.05, -0.05, -0.05,
			  -0.04, -0.04, -0.04,  -0.03, -0.03, -0.03, -0.02, -0.02, -0.02,
			  -0.01, -0.01, -0.01,
			  0.0, 0.0, 0.0,  0.01, 0.01, 0.01,  0.02, 0.02, 0.02,
			  0.03, 0.03, 0.03,  0.04, 0.04, 0.04,  0.05, 0.05, 0.05,
			  0.06, 0.06, 0.06,  0.07, 0.07, 0.07,  0.08, 0.08, 0.08,
			  0.09, 0.09, 0.09,  0.1, 0.1, 0.1,  0.11, 0.11, 0.11,
			  0.12, 0.12, 0.12,  0.13, 0.13, 0.13,  0.14, 0.14, 0.14,
			  0.15, 0.15, 0.15,  0.16, 0.16, 0.16,  0.17, 0.17, 0.17,
			  0.18, 0.18, 0.18,  0.19, 0.19, 0.19,  0.2, 0.2, 0.2,
			  0.21, 0.21, 0.21,  0.22, 0.22, 0.22,  0.23, 0.23, 0.23,
			  0.24, 0.24, 0.24,  0.25, 0.25, 0.25,  0.26, 0.26, 0.26,
			  0.27, 0.27, 0.27,  0.28, 0.28, 0.28,  0.29, 0.29, 0.29,
			  0.3, 0.3, 0.3,  0.31, 0.31, 0.31,  0.32, 0.32, 0.32,
			  0.33, 0.33, 0.33,  0.34, 0.34, 0.34,  0.35, 0.35, 0.35,
			  0.36, 0.36, 0.36,  0.37, 0.37, 0.37,  0.38, 0.38, 0.38,
			  0.39, 0.39, 0.39,  0.4, 0.4, 0.4,  0.41, 0.41, 0.41,
			  0.42, 0.42, 0.42,  0.43, 0.43, 0.43,  0.44, 0.44, 0.44,
			  0.45, 0.45, 0.45,  0.46, 0.46, 0.46,  0.47, 0.47, 0.47,
			  0.48, 0.48, 0.48,  0.49, 0.49, 0.49,  0.5, 0.5, 0.5,
			  0.51, 0.51, 0.51,  0.52, 0.52, 0.52,  0.53, 0.53, 0.53,
			  0.54, 0.54, 0.54,  0.55, 0.55, 0.55,  0.56, 0.56, 0.56,
			  0.57, 0.57, 0.57,  0.58, 0.58, 0.58,  0.59, 0.59, 0.59,
			  0.6, 0.6, 0.6,  0.61, 0.61, 0.61,  0.62, 0.62, 0.62,
			  0.63, 0.63, 0.63,  0.64, 0.64, 0.64,  0.65, 0.65, 0.65,
			  0.66, 0.66, 0.66,  0.67, 0.67, 0.67,  0.68, 0.68, 0.68,
			  0.69, 0.69, 0.69,  0.7, 0.7, 0.7,  0.71, 0.71, 0.71,
			  0.72, 0.72, 0.72,  0.73, 0.73, 0.73,  0.74, 0.74, 0.74,
			  0.75, 0.75, 0.75,  0.76, 0.76, 0.76,  0.77, 0.77, 0.77,
			  0.78, 0.78, 0.78,  0.79, 0.79, 0.79,  0.8, 0.8, 0.8,
			  0.81, 0.81, 0.81,  0.82, 0.82, 0.82,  0.83, 0.83, 0.83,
			  0.84, 0.84, 0.84,  0.85, 0.85, 0.85,  0.86, 0.86, 0.86,
			  0.87, 0.87, 0.87,  0.88, 0.88, 0.88,  0.89, 0.89, 0.89,
			  0.9, 0.9, 0.9,  0.91, 0.91, 0.91,  0.92, 0.92, 0.92,
			  0.93, 0.93, 0.93,  0.94, 0.94, 0.94,  0.95, 0.95, 0.95,
			  0.96, 0.96, 0.96,  0.97, 0.97, 0.97,  0.98, 0.98, 0.98,
			  0.99, 0.99, 0.99, 1, 1, 1 };

	double searchCArray[] = {  0.12, 0.12, 0.12, -0.39, -0.39, -0.39, -0.84, -0.84, -0.84 };
	unsigned int res[3];
	unsigned int i;
        void *RPTreePtr = RPTree_new( data, 201, 3, 5, 8, 10000, (unsigned int*) NULL);

	RPTree_multi_use( RPTreePtr, searchCArray, 3, res );

	for( i=0 ; i < 3 ; i++ )
	{
		printf("%d ", res[i]);
	}
	putchar('\n');

	RPTree_delete(RPTreePtr);

	return 0;
}
